package com.bestcem.xm.ticket.dao;

import com.bestcem.xm.ticket.entity.mysql.TicketWechatDO;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.List;

/**
 * ds_ticket_wechat 相关DAO层方法
 *
 * @author XiaoYunSong <ys.xiao@idiaoyan.com>
 * @version 通知提醒新增微信公众号
 * @date 2022/4/1 16:19
 */
public interface TicketWechatDao {
    /**
     * 获取单个微信用户信息
     *
     * @param openId 微信openId
     * @return 微信用户信息
     * @author XiaoYunSong <ys.xiao@idiaoyan.com>
     * @date 2022/4/1 19:34
     */
    @Nullable
    TicketWechatDO findByOpenId(String openId);


    /**
     * 批量获取微信用户信息
     *
     * @param unionIds 微信unionId列表
     * @return 微信用户信息
     * @author XiaoYunSong <ys.xiao@idiaoyan.com>
     * @date 2022/4/1 18:50
     */
    @Nonnull
    List<TicketWechatDO> listByUnionIds(List<String> unionIds);


    /**
     * 批量获取微信用户信息
     *
     * @param openIds 微信openId列表
     * @return 微信用户信息
     * @author XiaoYunSong <ys.xiao@idiaoyan.com>
     * @date 2022/4/7 11:18
     */
    @Nonnull
    List<TicketWechatDO> listByOpenIds(List<String> openIds);


    /**
     * 插入单条微信用户信息
     *
     * @param isDo 微信用户信息实体
     * @return 插入的成功与否
     * @author XiaoYunSong <ys.xiao@idiaoyan.com>
     * @date 2022/4/7 13:15
     */
    boolean save(TicketWechatDO isDo);
}
